package com.modelo.entity;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;


@Entity
@Table(name = "rol", catalog = "firmes")
public class Rol implements java.io.Serializable {

	 
	private static final long serialVersionUID = 1L;
	
	private Integer idrol;
	private String nombre;
	private Set<Proveedor> proveedors = new HashSet<Proveedor>(0);
	private Set<Rolsubtarea> rolsubtareas = new HashSet<Rolsubtarea>(0);
 
	public Rol() {
	}
 
	public Rol(Integer idrol, String nombre) {
		this.idrol = idrol;
		this.nombre = nombre;
	}
 
	public Rol(Integer idrol, String nombre, Set<Proveedor> proveedors,
			Set<Rolsubtarea> rolsubtareas) {
		this.idrol = idrol;
		this.nombre = nombre;
		this.proveedors = proveedors;
		this.rolsubtareas = rolsubtareas;
	}
 
	@Id
	@GeneratedValue
	@Column(name = "idrol", unique = true, nullable = false)
	public Integer getIdrol() {
		return this.idrol;
	}

	public void setIdrol(Integer idrol) {
		this.idrol = idrol;
	}

	@Column(name = "nombre", nullable = false, length = 45)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "rol")
	public Set<Proveedor> getProveedors() {
		return this.proveedors;
	}

	public void setProveedors(Set<Proveedor> proveedors) {
		this.proveedors = proveedors;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "rol")
	public Set<Rolsubtarea> getRolsubtareas() {
		return this.rolsubtareas;
	}

	public void setRolsubtareas(Set<Rolsubtarea> rolsubtareas) {
		this.rolsubtareas = rolsubtareas;
	}

}